% (c) GreenSocs Ltd
% author: Christian Schroeder <schroeder@eis.cs.tu-bs.de>

\section{Introduction}

This document introduces SystemC developers to GreenConfig: A means of
controlling parameters and configurable elements of a SystemC model
within the GreenControl framework.

In this tutorial an example system will be created which uses the GreenBus framework for
communication between the modules.  The example is used throughout to explain the important points of
how to use the configuration framework.

For completeness, the tutorial will describe the connection between the modules of the system (using
GreenBus) and their functionality. In more detail we will describe how the parameters of
the GreenConfig framework are used in the demonstration platform.

The platform is composed of some user modules connected with a bus: A traffic generator (TG1), a
cache (Cache1), and two devices which the traffic generator accesses, a memory (Mem) and a device
called PCIeDevice2. The traffic generator and the cache are connected directly over SimpleBus ports
and the cache and the other modules communicate through a SimpleBus (which is provided with GreenBus).

The usage of GreenConfig APIs for parameter access through the command line, a config file or an internal command line will be explained.

The intended audience for this tutorial have to be familiar with C++ and SystemC.

\WarningSymbol{Note:} Beware the example's bus might be outdated and already been changed or updated in the current example. This makes no difference for the configuration part this tutorial should show.

